package cn.mw.cmdb.entity;

import cn.mw.cmdb.param.MwPropertyCustomParam;
import cn.mw.cmdb.param.MwRuleTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

@Data
public class MwCustomRuleInfoVo extends DataAuth {
    private String id;

    @Schema(description = "规则名称")
    private String ruleName;

    @Schema(description = "规则类型:纳管规则-manageRule；添加规则-insertRule")
    private MwRuleTypeEnum ruleType;

    @Schema(description = "关联项")
    private Object assetsScanInfos;

    @Schema(description = "属性数据")
    private List<MwPropertyCustomParam> propertyInfos;

    @Schema(description = "创建人Id")
    protected String creater;

    @Schema(description = "创建人")
    protected String createrName;

    @Schema(description = "创建时间")
    protected String createTime;

    @Schema(description = "修改人Id")
    protected String modifier;

    @Schema(description = "修改人")
    protected String modifierName;

    @Schema(description = "修改时间")
    protected String modificationTime;

    @Schema(description = "监控引擎Id")
    private Integer monitorServerId;

    @Schema(description = "引擎分组")
    private Integer proxyType;

    @Schema(description = "采集引擎Id")
    private String pollingEngineId;

    @Schema(description = "属性模型id")
    private String modelId;

    @Schema(description = "模型识别类型：手动-manual；自动-auto")
    private String discoveryType;

    @Schema(description = "功能模块")
    private List<String> functionModuleList;
    @Schema(description = "忽略CODE检查")
    private Boolean ignoreCodeCheck;
    @Schema(description = "是否立即检查")
    private Boolean checkNow = false;
    @Schema(description = "纳管是否使用随机名称")
    private Boolean randomNameFlag = false;
    @Schema(description = "是否Trunk监控")
    private Boolean mw_trunkMonitorFlag = false;
    @Schema(description = "自定义端口信息")
    private List<MwCustomRuleInfo.CustomNanotubeType> customPortList;

}
